package com.hifar.test.task.mapper;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hifar.test.entrust.pojo.HfEnvEntrust;
import com.hifar.test.entrust.pojo.HfEnvGkEntrust;
import com.hifar.test.task.pojo.HfEnvTask;
import com.hifar.test.task.pojo.VO.HfEnvTaskTestVO;
import com.hifar.test.task.pojo.VO.HfEnvTaskVO;
import com.hifar.test.task.pojo.VO.TaskPendingEntrustVO;
import com.hifar.test.test.pojo.HfEnvTest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 委托项目 mapper接口
 * </p>
 *
 * @author wei
 * @since 2024-12-04 15:51:56
 */
@Mapper
public interface HfEnvTaskMapper extends BaseMapper<HfEnvTask> {
    /**
     * @param queryWrapper
     * @return
     */
    List<TaskPendingEntrustVO> selectPendingEntrust(@Param(Constants.WRAPPER) QueryWrapper<HfEnvGkEntrust> queryWrapper);

    /**
     * 分页查询VO
     *
     * @param page         分页
     * @param queryWrapper 查询条件
     * @return
     */
    Page<HfEnvTaskVO> selectVOPage(Page<HfEnvTask> page, @Param(Constants.WRAPPER) QueryWrapper<HfEnvTask> queryWrapper);

    /**
     * 分页查询任务下试验
     *
     * @param page         分页信息
     * @param queryWrapper 查询条件
     * @return
     */
    Page<HfEnvTaskTestVO> pageTest(Page<HfEnvTest> page, @Param(Constants.WRAPPER) QueryWrapper<HfEnvTest> queryWrapper);

    /**
     * 查询可生成报告的任务列表
     *
     * @param entrustId
     * @return
     */
    List<HfEnvTask> reportListTaskByEntrustId(@Param("entrustId") String entrustId);

    /**
     * 查询可生成报告的任务列表
     *
     * @param gkEntrustId 工控委托id
     * @return
     */
    List<HfEnvTask> reportListTaskByGkEntrustId(@Param("gkEntrustId") String gkEntrustId);
}